package com.example.lemis.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.lemis.model.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.lemis.model.dto.PageDTO;
import com.example.lemis.model.dto.UserLoginRequest;
import com.example.lemis.model.dto.UserRegisterRequest;
import com.example.lemis.model.dto.passwordChangeDTO;
import com.example.lemis.model.vo.UserInfoVO;
import com.example.lemis.model.dto.resetPasswordDTO;

/**
 * <p>
 * 管理审批用户 服务类
 * </p>
 *
 * @author lxp
 * @since 2025-06-24
 */
public interface IUserService extends IService<User> {

    UserInfoVO login(UserLoginRequest userIdentity);

    UserInfoVO password_change(passwordChangeDTO pcDTO);

    User infoModify(User user);

    void resetPassword(resetPasswordDTO rpdto);

    UserInfoVO auth();

    Page<User> searchUserList(PageDTO pageDTO, String name);

    User register(UserRegisterRequest user);

    UserInfoVO deleteUser(User user);

    User addUser(User user);
}
